The Universal Serial Bus (USB) 1.0 specification was originally developed in the 1990s to provide a bus and interface(s) to standardize communication between computers and peripheral devices, such as keyboards, printers, cursor pointing devices, external drives, and the like. Since then, USB has progressed into versions 2.0 and 3.0 and has become ubiquitous in computers as well as portable devices, such as smartphones, tablet computers, and MP3 players.
In general, in USB communication, one device acts as a Host while another acts as a Device. The Host powers the bus, issues commands, and generally maintains control over the connection. The Device does not initiate any activity for control of the bus. For example, a personal computer acts as a Host to a USB “thumb” drive Device.
The On-the-Go Specification allows a single Host and single Device to swap roles. For example, some tablet computers may function in a Device role and operate as a mass storage device when coupled to a personal computer Host, but may function as a Host when coupled to peripheral devices such as a keyboard.
USB hubs expand a single USB port into several so that more devices can be connected. A personal computer or automotive entertainment system, for example, may include multiple external USB ports but have an internal hub, rather than dedicated USB controllers for each port. The Flexconnect-enabled hubs (USB 2.0 and USB 3.0 hubs) produced by the Assignee of the present application are unique in the industry in that they can swap the upstream (Host) side port with one of the downstream (Device) side ports. In effect, for example, a dual role smartphone (Host/Device) can take over the hub from the downstream port. The Flexconnect feature, unique to Assignee manufactured hub devices, provides a crossbar switch on the die to reverse, for example, the USB hub host port (Port 0) and the downstream Port 1 which is where the smart phone could be connected as a USB device.
Once the USB port direction is flipped, and the smartphone is the USB Host, the remaining downstream ports are either idle or available to the smartphone acting as host. However, it is rarely the case that additional “slave” devices would need to be available to the smartphone. As such, the remaining ports are typically unused.